Logical Debugging

نویسندگان

  • Nachum Dershowitz
  • Yuh-Jeng Lee
چکیده

Logic programming o ers a distinctive feature that is rarely met by other traditional programming languages: namely, one can use logic for both speci cation and computation. We present a methodology for reasoning about logic programs and their speci cations. This methodology can be applied to program debugging as well as program synthesis. We focus on the use of executable speci cations to generate test cases for bug discovery, locate bugs when test data cause a program to fail, and guide deductive and inductive bug correction. The behavior of the automated debugger is demonstrated through several examples.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Logical Framework for the Algorithmic Debugging of Lazy Functional-Logic Program

Traditional debugging techniques are not well suited for lazy functional programming, because of the diicult-to-predict evaluation order. Therefore, declarative debugging techniques have been proposed, which allow to focus on the intended meaning of programs, abstracting away operational concerns. Similar techniques are known also for logic programming and for combined functional logic language...

متن کامل

Debugging Program Code Using Implicative Dependencies

Based on the technique for finding errors in new object intents a method of debugging source code is presented. This method is capable of finding strict implicative dependencies between lines of source code covered in successful and failed runs. The output is a logical expression. Using the new method it is possible to come closer to debugging programs on a logical level not checking executions...

متن کامل

Debugging Programs using Formal Concept Analysis

The classification of possible errors in object intents is given and some possibilities of exploring them are discussed. Two techniques for finding some types of errors in new object intents are introduced. After comparing the better technique is developed further in order to guarantee the absence of certain errors given enough information. Based on this technique an approach for debugging sour...

متن کامل

An Efficient Logical Clock for Replaying Message-Passing Programs

Cyclic debugging is one of the most important and most commonly used activities in programs development. During cyclic debugging, the program is repeatedly re-executed to track down errors when a failure has been observed. The cyclic debugging approach often fails for parallel programs because parallel programs reveal nondeterministic characteristics due to message race conditions. Execution re...

متن کامل

Theoretical Foundations for the Declarative Debugging of Lazy Functional Logic Programs

The aim of this paper is to provide theoretical foundations for the declarative debugging of wrong answers in lazy functional logic programming. We rely on a logical framework which formalizes both the intended meaning and the execution model of programs in a simple language which combines the expressivity of pure Prolog and a signi cant subset of Haskell. As novelties w.r.t. to previous relate...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • J. Symb. Comput.

دوره 15  شماره 

صفحات  -

تاریخ انتشار 1993